This is a minor fix to the calculation of bit-width of fixed function
perfmon counters in Intel processors. Bits 5-12 of edx register
should be calculated as (edx & 0x1fe0) >>5 instead of using 0x1f70.
From: "John, Jaiber J" <jaiber.j.john@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
{
u32 eax, ebx, ecx, edx;
cpuid(0xa, &eax, &ebx, &ecx, &edx);
- return ((edx & 0x1f70) >> 5);
+ return ((edx & 0x1fe0) >> 5);
}
static int is_core2_vpmu_msr(u32 msr_index, int *type, int *index)